<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="UTF-8" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    <meta http-equiv="X-UA-Compatible" content="ie=edge" />
    <title>评论列表</title>
    <link rel="stylesheet" href="./css/bootstrap.min.css" />
    <style>
      .badge {
        float: right;
        margin-right: 5px;
      }
      .my-page {
        margin: 0 5px;
      }
      .all-page-content {
        margin-left: 5px;
      }
    </style>
  </head>

  <body style="padding: 15px">
    <!-- 评论面板 -->
    <div class="panel panel-primary">
      <div class="panel-heading">
        <h3 class="panel-title">发表评论</h3>
      </div>
      <form class="panel-body cmt-form">
        <div>评论人：</div>
        <input
          type="text"
          class="form-control"
          name="username"
          autocomplete="off"
        />
        <div>评论内容：</div>
        <textarea class="form-control" name="content"></textarea>
        <button type="submit" class="btn btn-primary submit">发表评论</button>
      </form>
    </div>

    <!-- 评论列表 -->
    <ul class="list-group">
      <!-- <li class="list-group-item">
       <span>评论内容</span>
       <span class="badge del" style="cursor:pointer; background-color: lightgray;">删除</span> 
       <span class="badge" style="background-color: #F0AD4E;">评论时间：xxx</span>
       <span class="badge" style="background-color: #5BC0DE;">评论人：xxx</span>
    </li> -->
    </ul>

    <!-- 分页器 -->
    <nav>
      <ul class="pagination">
        <li>
          <button class="last">
            <span>&laquo;</span>
          </button>
        </li>
        <li class="my-page">
          <span class="page-show"></span>
        </li>
        <li>
          <button class="next">
            <span>&raquo;</span>
          </button>
        </li>
        <li class="all-page-content">
          <span>共计:<span class="all-page"></span>页</span>
        </li>
      </ul>
    </nav>
    <script src="../../js/axios.min.js"></script>
    <script src="./lib/form-serialize.js"></script>
    <script>
     let nowPage=1
      let allPage=null
      // 渲染页面
      function render() {
        const res = axios({
          url: `http://123.57.109.30:3006/api/cmtlist?page=${nowPage}`,
          }).then((res) => {
          // console.log(res);
          allPage=res.data.allPage
          document.querySelector(".list-group").innerHTML = res.data.data
            .map((item) => {
              return ` <li class="list-group-item">
         <span>${item.content}</span>
         <span class="badge del" style="cursor:pointer; background-color: lightgray;" data-id=${item.id}>删除</span>
         <span class="badge" style="background-color: #F0AD4E;">评论时间：${item.time}</span>
         <span class="badge" style="background-color: #5BC0DE;">评论人：${item.username}</span>
      </li>`;
            })
            .join("");    
            document.querySelector('.all-page').innerHTML=allPage
            document.querySelector('.page-show').innerHTML=nowPage 
        });
      }
      render();
      // 新增评论功能
      let submit = document.querySelector(".submit");
      submit.addEventListener("click", function (e) {
        e.preventDefault();
        const submitForm = document.querySelector(".cmt-form");
        const form = serialize(submitForm, {
          hash: true,
          empty: true,
        });
        // console.log(form);
        axios({
          url: "http://123.57.109.30:3006/api/addcmt",
          method: "post",
          data: {
            username: form.username,
            content: form.content,
          },
        }).then((res) => {
          // console.log(res);
          nowPage = 1
          render();
                });
      });
      //删除评论功能;
      document.querySelector(".list-group").addEventListener('click',function(e){   
            if(e.target.classList.contains("del")) {    
        axios({
          url:'http://123.57.109.30:3006/api/delcmt',
          params:{
            id:e.target.dataset.id
          }
        }).then(res=>{    
          allPage = res.data.allPage
          if (nowPage > allPage) nowPage = allPage      
       render();
        })
   }} 
      )
      // 分页切换评论列表数据功能       
       
     document.querySelector('.last').addEventListener('click',function(){
      nowPage<=1?nowPage=1:nowPage--
      render()
     })
     document.querySelector('.next').addEventListener('click',function(){
      if(nowPage<allPage)
     {
      nowPage++
     }
      render()
     })

    </script>
  </body>
</html>
